// package com.mlh.springboot.config;
//
// import com.alibaba.druid.pool.DruidDataSource;
// import com.alibaba.druid.support.http.StatViewServlet;
// import com.alibaba.druid.support.http.WebStatFilter;
// import org.springframework.boot.context.properties.ConfigurationProperties;
// import org.springframework.boot.web.servlet.FilterRegistrationBean;
// import org.springframework.boot.web.servlet.ServletRegistrationBean;
// import org.springframework.context.annotation.Bean;
// import org.springframework.context.annotation.Configuration;
//
// import javax.servlet.Filter;
// import javax.sql.DataSource;
// import java.sql.SQLException;
// import java.util.Arrays;
//
// @Configuration
// public class DruidDataSourceConfig {
// 	//编写方法,注入DruidDataSource
// 	//老韩还有说明一下为什么 我们注入自己的DataSource，为什么默认的HiKariDatasource会失效?
// 	//1.默认的数据源是如配置? @ConditionalOnMissingBean({DataSource.class, XADataSource.class})
// 	//解读通过@ConditionalOnMissingBean({DataSource.class}) 判断如果容器有DataSource,则不会注入默认的datasource
// 	@ConfigurationProperties("spring.datasource")
// 	@Bean
// 	public DataSource dataSource() throws SQLException {
// 		//1.配置了@ConfigurationProperties("spring.datasource")
// 		//就可以读取到application.yml的配置
// 		//2.我们就不需要调用DruidDataSource对象的setXxx，会自动关联
// 		//druidDataSource.setUrl();
// 		//druidDataSource.setUsername();
// 		//druidDataSource.setPassword();
// 		DruidDataSource druidDataSource = new DruidDataSource();
// 		//开启监控  开启sql防火墙功能
// 		druidDataSource.setFilters("stat,wall");
// 		return druidDataSource;
// 	}
//
// 	//配置druid的监控页功能
// 	@Bean
// 	public ServletRegistrationBean statViewServlet(){
// 		//创建StatViewServlet
// 		StatViewServlet statViewServlet=new StatViewServlet();
// 		ServletRegistrationBean<StatViewServlet> registrationBean
// 				=new ServletRegistrationBean(statViewServlet,"/druid/*");
// 		//设置init-parameter
// 		registrationBean.addInitParameter("loginUsername","mlh");
// 		registrationBean.addInitParameter("loginPassword","666666");
// 		return registrationBean;
// 	}
//
// 	//配置WebStatFilter,用于采集web- jdbc关联的监控数据
// 	@Bean
// 	public FilterRegistrationBean webStatFilter(){
// 		//创建WebStatFilter
// 		WebStatFilter webStatFilter = new WebStatFilter();
// 		FilterRegistrationBean<Filter> filterRegistration = new FilterRegistrationBean<>(webStatFilter);
// 		//默认对所有的urZ请求进行监控
// 		filterRegistration.setUrlPatterns(Arrays.asList("/*"));
// 		// 排除指定的url
// 		filterRegistration.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
// 		return filterRegistration;
// 	}
// }
